#include <iostream>
#include <string>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

using namespace std;

#define FILE_NAME "./myfifo"
#define MODE 0664

enum
{
  FILE_CREATE_ERR = 1,
  FILE_DELETE_ERR,
  FILE_OPEN_ERR
};

class Init
{
public:
  Init()
  {
    // 创建命名管道
    int n = mkfifo(FILE_NAME, MODE);
    if (n == -1)
    {
      perror("mkfifo");
      exit(FILE_CREATE_ERR);
    }
  }
  ~Init()
  {
    // 删除命名管道
    int m = unlink(FILE_NAME);
    if (m == -1)
    {
      perror("unlink");
      exit(FILE_DELETE_ERR);
    }
  }
};